user_agent 把它叫做浏览器标识,目前主流的浏览器有 IE、chrome、firefox、360、iphone上的 safari、android手机上的 百度搜索引擎、google搜索引擎等很多,每一种浏览器都有对应的 user_agent 。
常见 user_agent
Opera
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60
Opera/8.0 (Windows NT 5.1; U; en)
Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.50
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.50Firefox
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0
Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10Safari
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2chrome
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.133 Safari/534.16360
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
下面针对这些 user_agent 来做一些限制。
配置如下:
|
|
同样是使用 rewrite 模块来实现限制指定 user_agent ,在上例中, RewriteRule . -[F] 可以直接禁止访问, rewritecond 用 user_agent 来匹配,curl 表示,只要 user_agent 中含有 curl 就符合条件,其中 表示任意字符, NC 表示不区分大小写,OR 表示或者,连接下一个以条件。这样就把 curl 和 chrome 浏览器禁止掉了。假如现在要把百度的搜索引擎限制掉,可以加这样一条规则:
|
|
既然后了或者 OR,那有没有并且呢。只要不写 OR 就是并且的意思